package org.bigjava.novelplatform.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.bigjava.novelplatform.entity.Catalog;
import org.bigjava.novelplatform.vo.CatalogVo;

import java.util.List;

/**
* @author YKH
* @description 针对表【catalog】的数据库操作Mapper
* @createDate 2022-03-20 14:42:21
* @Entity org.bigjava.novelplatform.entity.Catalog
*/
public interface CatalogMapper extends BaseMapper<Catalog> {

    /**
     * 查询分类
     * @param catalogName
     * @return
     */
    Catalog selectByName(@Param("catalogName") String catalogName);

    /**
     * 根据分类名查询后代分类
     * @param parent
     * @return
     */
    List<Catalog> selectByParentName(@Param("parent") String parent);

    /**
     * 查询n级分类
     * @param level
     * @return
     */
    List<Catalog> selectByLevel(@Param("level") Integer level);

    /**
     * 根据父id查询分类
     * @param parent
     * @return
     */
    List<Catalog> selectChildrenByParenId(@Param("parent") Integer parent);

    /**
     * 根据父name查询分类
     * @param parent
     * @return
     */
    List<Catalog> selectChildrenByParenName(@Param("parent") String parent);

    /**
     * 根据分类名查询后代分类
     * @param parent
     * @return
     */
    List<Catalog> selectByParentId(@Param("parent") Integer parent);


    /**
     * 获取全部分类
     * @return List<CatalogVo>
     */
    List<CatalogVo> getCatalogAll();


    /**
     * 查询子分类
     * @param id
     * @return
     */
    List<CatalogVo> selectChildren(@Param("id") Integer id);



    /**
     * 查询父分类
     * @param catalog
     * @return
     */
    Catalog selectParentName(@Param("catalog") String catalog);

}




